package util;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailSender extends Thread
    {
	private static String mailOrigen = "dppflexo@gmail.com";
	private static String passOrigen = "newlong=123";

    private static synchronized void send(String mailDestino, String titulo, String mensaje, String origen)
        {
        try{
            // Propiedades de la conexión
            Properties props = new Properties();
            props.setProperty("mail.smtp.host", "localhost");
//            props.setProperty("mail.smtp.starttls.enable", "true");
//            props.setProperty("mail.smtp.port", "25");
//            props.setProperty("mail.smtp.user", "sebastian.nicolas.bernardez@gmail.com");
//            props.setProperty("mail.smtp.auth", "false");

            // Preparamos la sesion
            Session session = Session.getDefaultInstance(props);

            // Construimos el mensaje
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(origen));
            message.addRecipient( Message.RecipientType.TO, new InternetAddress(mailDestino));
//            message.addRecipient( Message.RecipientType.TO, new InternetAddress(mailOrigen));
            message.setSubject( titulo );
            message.setText( mensaje );

            // Lo enviamos.
//            Transport t = session.getTransport("smtp");
//            t.connect(mailOrigen, passOrigen);
//            t.connect();
//            t.sendMessage(message, message.getAllRecipients());
            Transport.send(message);
            // Cierre.
//            t.close();
            }catch (Exception e) {e.printStackTrace();}
        }

    public static void enviar(String mailDestino, String titulo, String mensaje, String origen)
        { new MailSender(mailDestino, titulo, mensaje, origen).start(); }



	private String mailDestino = "";
	private String titulo = "";
	private String mensaje = "";
        private String origen = "";

	public MailSender(String mailDestino, String titulo, String mensaje, String origen)
		{
		this.mailDestino = mailDestino;
		this.titulo = titulo;
		this.mensaje = mensaje;
                this.origen = origen;
		}

	@Override
	public void run()
		{ MailSender.send(mailDestino, titulo, mensaje,origen); }


	
//    public static void main(String[] args)
//        {
//        new MailSender("jmaldonado@candoit.com.ar","Recordatorio de Tentissimo","La reserva X fue cancelada").start();
//        new MailSender("jmaldonado@candoit.com.ar","Rojo Tango2 - Aviso de cancelación de reserva","La reserva X fue cancelada").start();
//		System.out.println("Fin del main()");
//        }
    }
